package com.ruoyi.system.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

import javax.xml.crypto.Data;
import java.util.List;

/**
 * 白皮书大纲对象 sys_white_paper_outline
 *
 * @author ruoyi
 * @date 2025-10-20
 */
public class SysWhitePaperOutline extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** ID */
    private Long id;

    /** 项目ID */
    @Excel(name = "项目ID")
    private Long projectId;

    /** 白皮书章节ID */
    @Excel(name = "白皮书章节ID")
    private Long chapterId;

    /** 内容标题 */
    @Excel(name = "内容标题")
    private String title;

    /** 数调研来源 */
    @Excel(name = "数调研来源")
    private String dataSource;

    /** 调研要求 */
    @Excel(name = "调研要求")
    private String collectionRequirements;

    /** 调研分析结果 */
    @Excel(name = "调研分析结果标题")
    private String aiAnalyseResultTitle;

    /** 调研分析结果 */
    @Excel(name = "调研分析结果")
    private String aiAnalyseResult;

    /** 内容汇编 */
    @Excel(name = "内容汇编")
    private String fianlAnalyseResult;

    /** 显示顺序 */
    @Excel(name = "显示顺序")
    private Integer sort;

    /** 删除标志（0代表存在 1代表删除） */
    private String delFlag;

    private DataSourceInfo dataSourceInfo;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }

    public void setProjectId(Long projectId)
    {
        this.projectId = projectId;
    }

    public Long getProjectId()
    {
        return projectId;
    }

    public void setChapterId(Long chapterId)
    {
        this.chapterId = chapterId;
    }

    public Long getChapterId()
    {
        return chapterId;
    }

    public void setTitle(String title)
    {
        this.title = title;
    }

    public String getTitle()
    {
        return title;
    }

    public void setDataSource(String dataSource)
    {
        this.dataSource = dataSource;
    }

    public String getDataSource()
    {
        return dataSource;
    }

    public void setCollectionRequirements(String collectionRequirements)
    {
        this.collectionRequirements = collectionRequirements;
    }

    public String getCollectionRequirements()
    {
        return collectionRequirements;
    }

    public void setAiAnalyseResult(String aiAnalyseResult)
    {
        this.aiAnalyseResult = aiAnalyseResult;
    }

    public String getAiAnalyseResult()
    {
        return aiAnalyseResult;
    }

    public void setFianlAnalyseResult(String fianlAnalyseResult)
    {
        this.fianlAnalyseResult = fianlAnalyseResult;
    }

    public String getFianlAnalyseResult()
    {
        return fianlAnalyseResult;
    }

    public void setSort(Integer sort)
    {
        this.sort = sort;
    }

    public Integer getSort()
    {
        return sort;
    }

    public void setDelFlag(String delFlag)
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag()
    {
        return delFlag;
    }

    public String getAiAnalyseResultTitle() {
        return aiAnalyseResultTitle;
    }

    public void setAiAnalyseResultTitle(String aiAnalyseResultTitle) {
        this.aiAnalyseResultTitle = aiAnalyseResultTitle;
    }

    public DataSourceInfo getDataSourceInfo() {
        return dataSourceInfo;
    }

    public void setDataSourceInfo(DataSourceInfo dataSourceInfo) {
        this.dataSourceInfo = dataSourceInfo;
    }

    public static class DataSourceInfo {
        /**
         * 调研网站，多个网站用英文逗号分隔
         */
        private String websites;

        /**
         * 资料文件
         */
        private List<SysWhitePaperKnowledgeBase> knowledgeBaseList;

        public String getWebsites() {
            return websites;
        }

        public void setWebsites(String websites) {
            this.websites = websites;
        }

        public List<SysWhitePaperKnowledgeBase> getKnowledgeBaseList() {
            return knowledgeBaseList;
        }

        public void setKnowledgeBaseList(List<SysWhitePaperKnowledgeBase> knowledgeBaseList) {
            this.knowledgeBaseList = knowledgeBaseList;
        }
    }
}
